![]() Speichersystem mit mehreren Schnittstellen sowie Datenzugriffsverfahren in einem derartigen Speicher
专利摘要:
Ein hybrides Speichersystem, das sowohl über SAN- als auch NAS-Schnittstellen verfügt, kann durch einfache Hardware realisiert werden, die eine SAN-Funktion unabhängig von einer NAS-Funktion und einer NAS-Belastung ausführt. Genauer gesagt, verfügt ein Controller (110) des Speichersystems (100) über einen NAS-Controller (145) zum Akzeptieren eines für eine Dateieinheit ausgegebenen I/O-Befehls sowie einen SAN-Controller (140) zum Akzeptieren eines für eine Blockeinheit ausgegebenen I/O-Befehls. Der NAS-Controller wandelt einen für eine Dateieinheit ausgegebenen I/O-Befehl in einen für eine Blockeinheit ausgegebenen I/O-Befehl, und er überträgt den für eine Blockeinheit ausgegebenen I/O-Befehl an den SAN-Controller. Der SAN-Controller führt einen Zugriff auf in einem Plattengerät gespeicherte Daten entsprechend einem vom SAN empfangenen I/O-Befehl oder einem vom NAS-Controller für eine Blockeinheit ausgegebenen Befehl aus. Der NAS- und der SAN-Controller können unabhängig voneinander arbeiten. 公开号:DE102004025921A1 申请号:DE200410025921 申请日:2004-05-27 公开日:2005-08-25 发明作者:Naoto Matusnami;Akira Nishimoto;Yusuki Nonaka;Ikuya Yagisawa 申请人:Hitachi Ltd; IPC主号:G06F3-06
专利说明:
[0001] DieErfindung betrifft ein Speichersystem mit mehreren Schnittstellen.Genauer gesagt, betrifft die Erfindung ein hybrides Speichersystem,das es ermöglicht,auf Daten sowohl unter Verwendung eines SAN(Storage Area Network)-Schnittstellenbefehls alsauch eines NAS(Network Attached Storage)-Schnittstellenbefehls zuzugreifen. [0002] Inden letzten Jahren hat, einhergehend mit dem Wachstum betreffendAnwendungsgebiete von Informationssystemen und dem Fortschreitender verteilten Verarbeitung in Computersystemen, die Anzahl vonan einem Ort kontrollierter Hosts wesentlich zugenommen. Bei zunehmenderAnzahl derartiger Hosts wird das Problem erhöhter Kosten bei der Verwaltungvon Speichersystemen dringender. Insbesondere dann, wenn Speichersystemeverteilter Hosts individuell verwaltet werden, ist vorab die Kapazität schwierigabzuschätzen,die jedes Speichersystem als Kapazität benötigt, die dazu erforderlich ist,Operationen auszuführen.Demgemäß ist es, wenndie Kapazitäterhöhtwerden muss, erforderlich, fürjeden individuellen Host ein zusätzlichesSpeichersystem neu zu installieren. Demgemäß nehmen die Verwaltungskostenzu. [0003] AlsTechnologien zum Lösender obigen Probleme werden SAN- undNAS-Techniken verwendet. Es ist ein Ziel beider Technologien, Speichersysteme zuvereinigen, wie sie individuell für verteilte Hosts vorhandensind. Aufgrund der verschiedenen Eigenschaften der Technologienwerden sie jedoch auf verschiedenen Gebieten angewandt. [0004] DieSAN-Technologie ist eine Technologie zum Verbinden mehrerer Speichersystemeund mehrerer Hosts miteinander unter Verwendung eines Netzwerks,das speziell fürKommunikationsvorgängezwischen den Hosts und den Speichersystemen vorhanden ist, um I/O-Operationenmit hoher Geschwindigkeit und kleiner Verzögerungszeit zu realisieren.Gemäß der SAN-Technologiewird eine I/O-Operation zwischen einem Host und einem Speichersystemin Blockeinheiten ausgeführt.Ein Block ist eine Datenverwaltungseinheit fester Länge, die durcheine Adresse gekennzeichnet ist. Ein Block wird als Ergebnis einerUnterteilung der Kapazitäteines Speichersystems in kleinere Abschnitte mit jeweils einer vorbestimmtenGröße, entsprechendder festgelegten Länge,erhalten. Eine Datenbank ist repräsentativ für Anwendungen, bei denen einein Blockeinheiten ausgeführteI/O-Operation geeignet ist. Durch Vereinigen mehrerer Datenbankvolumina zueinem einzelnen Speichersystem, um es zu ermöglichen, deren Verwaltung aufgleichmäßige Weiseauszuführen,könnendie Verwaltungskosten für dasComputersystem gesenkt werden. Außerdem sorgt die SAN-Technologiefür einspezielles Netzwerk mit hoher Zuverlässigkeit, und sie erlaubt es, Kommunikationsvorgänge mithoher Effizienz auszuführen.Demgemäß kann dieSAN-Technologie auch als Technik verwendet werden, die für eineneffektiven Kommunikationspfad zum Übertragen von Daten in Datenträgereinheitensorgt. Die Übertragungvon Daten in Daten trägereinheitenwird dazu verwendet, einen Datenträger in ein entferntes Speichersystem zukopieren, um eine Sicherung des Datenträgers zu erstellen und um für eine Gegenmaßnahme gegen Fehlerim Datenträgerzu sorgen. [0005] Andererseitsist die NAS-Technologie eine Technologie, die für ein Speichersystem mit Dateiserverfunktionsorgt, um fürmehrere Hosts innerhalb eines LAN (Local Area Network) Dateidienstebereitzustellen. I/O-Operationen zwischen einem durch die NAS-Technologiegeschaffenen Speichersystem und Hosts werden in Dateieinheiten ausgeführt. ImAllgemeinen wird eine Datei unter Verwendung einer Kennung, dieeine Zeichenkette ist, identifiziert. Eine Datei ist eine Datenverwaltungseinheitmit variabler Länge.Repräsentativfür Anwendungen,bei denen in Dateieinheiten ausgeführte I/O-Operationen geeignet sind, ist eineAnwendung, die es ermöglicht,dass mehrere Hosts eine Datei gemeinsam nutzen. Unter Verwendungder NAS-Technologie ist es möglich,ein System zu realisieren, das es erlaubt, dass mehrere Webservereinen Dienst desselben Inhalts gemeinsam betreiben, sowie ein System,das es ermöglicht, dassmehrere Büro-PCseinen Text gemeinsam nutzen. [0006] Ausder obigen Beschreibung ist es ersichtlich, dass die SAN- und dieNAS-Technologie zueinander komplementär sind. Diese Technologienhaben zur Entstehung der Idee geführt, die Verwaltungskostendadurch weiter zu senken, dass Speichersysteme, die die SAN- mitder NAS-Technologie in Einklang bringen, in einem einzelnen Speichersystemintegriert werden. Wenn ein Steuerungsprogramm eines Speichersystemsals solches geschaffen wird, das es ermöglicht, eine Steuerung sowohl einesSAN- als auch eines NAS-Speichersystems auszuführen, kann ein Speichersystemgeschaffen werden, das sowohl der SAN- als auch der NAS-Technologiegenügt,wie es in JP-A-2003-1G2439 (Patentdokument 1) und von Stephen Dani elin "Converging SANand NAS Storage – AComparison of Unified and Gateway Solutions", Network Appliance Inc., White Paper,Okt. 2002 (Nicht-Patentdokument 1) beschrieben ist. Ein diese Technologienanwendendes Speichersystem verfügt über SAN-und NAS-Schnittstellen, und es erlaubt es, die zugehörige Speicherkapazität mit hohemFreiheitsgrad zwischen der SAN- und der NAS-Schnittstelle aufzuteilen. [0007] Gemäß der imgenannten Nicht-Patentdokument 1 offenbarten Technologie ist esmöglich,die SAN- und die NAS-Technologie dadurch in Übereinstimmung zu bringen,wodurch ein einzelnes Speichersystem verwendet werden kann. Da dieSAN- und die NAS-Technologie unter Verwendung eines einzelnen Steuerprogrammsimplementiert werden, störenihre Funktionen jedoch einander, was zu einem Problem führt. Esliegt völliginnerhalb der Möglichkeitsgrenzen,dass die SAN-Funktion aufgrund eines Fehlers der NAS-Funktion stoppt,was zu einem Problem bei der Ausfallssicherheitscharakteristik führt. Außerdem können keineWartungsarbeiten ausgeführtwerden, wenn nur die NAS-Funktion gestoppt wird. Darüber hinausnimmt das Funktionsvermögender NAS-Funktion beträchtlichab, wenn die Belastung der SAN-Funktion schwerer wird. In ähnlicherWeise nimmt das Funktionsvermögender SAN-Funktion beträchtlichab, wenn die Belastung der NAS-Funktion größer wird. Derartige Effektemachen das Funktionsdesign des Systems insgesamt schwierig. Im Allgemeinendient die SAN-Funktion in vielen Fällen als Hauptaufgabe des Speichersystems.So besteht Bedarf an einem Speichersystem, das es ermöglicht,Operationen, die auf in einem Speichersystem gespeicherte Datenzugreifen, unter Verwendung der SAN-Funktion selbst dann fortzusetzen,wenn die NAS-Funktion gestoppt ist. [0008] Gemäß der imoben genannten Patentdokument 1 offenbarten Technologie sind dieNAS- und die SAN-Funktionen dagegen stärker unabhängig voneinander, so dass esmöglichist, ein Speichersystem zu implementieren, bei dem die SAN-Funktion nichtdurch einen Ausfall der NAS-Funktion gestoppt wird. Da mehrere Schnittstellenmit NAS- und SAN-Funktion jeweils ein Plattengerät des Speichersystems steuern,wird jedoch die Hardware teuer, die eine Kommunikation mit eineminternen Netzwerk übereinen gemeinsamen Speicher ausführenmuss. Demgemäß ist esschwierig, diese Technologie bei einem Speichersystem mit kleinerKonfiguration und einer kleinen Anzahl von Schnittstellen anzuwenden. [0009] Demgemäß ist eseine Aufgabe der Erfindung, ein hybrides Speichersystem mit sowohlSAN- als auch NAS-Schnittstellen als Speichersystem zu schaffen,das sowohl durch einfache Hardware implementiert werden kann alsauch dazu in der Lage ist, mit der SAN-Funktion ohne Hinblick aufNAS-bezogene Faktoren, wie einen Ausfall einer NAS-Funktion undder NAS-Belastung,zu arbeiten. Der Erfindung liegt weiter die Aufgabe zugrunde, einDatenzugriffsverfahren in einem derartigen System zu schaffen. [0010] DieseAufgaben sind hinsichtlich des Speichersystems durch die Lehrender beigefügtenunabhängigenAnsprüche1, 8 und 9 und hinsichtlich des Datenzugriffsverfahrens durch dieLehre des beigefügtenAnspruchs 12 gelöst. [0011] Beimerfindungsgemäßen Speichersystem können Zugriffeauf in einer Speichervorrichtung gespeicherte Daten über eineSAN-Schnittstelleunter Verwendung eines füreine Blockeinheit ausgegebenen I/O-Befehls und eine NAS-Schnittstelleunter Verwendung eines füreine Dateieinheit ausgegebenen I/O-Befehls erfolgen. Bei diesemSpeichersystem verfügteine Steuerungseinheit zum Steuern des Plattengeräts über einenNAS-Controller und einen SAN-Controller. Der NAS-Controller isteine Steuerung zum Empfangen eines für eine Dateieinheit ausgegebenenI/O-Befehls. Andererseits ist der SAN-Control ler eine Steuerungzum Empfangen eines füreine Blockeinheit ausgegebenen I/O-Befehls als Befehl, mit dem schließlich einZugriff auf Daten erfolgt, wie sie im im Speichersystem verwendeten Plattengerät gespeichertsind. [0012] DerNAS-Controller wandelt einen füreine Dateieinheit ausgegebenen empfangenen I/O-Befehl in einen für eine Blockeinheitausgegebenen I/O-Befehl, und sie liefert den als Ergebnis der Befehlswandlungerhaltenen Blockeinheit-I/O-Befehl an den SAN-Controller. [0013] DerSAN-Controller führtentsprechend einem Befehl, wie er von der SAN-Schnittstelle alsfür eineBlockeinheit ausgegebener I/O-Befehl empfangen wird, oder einemBefehl, wie er vom NAS-Controller als sich aus der Befehlswandlungergebender Blockeinheit-I/O-Befehl empfangen wird, einen Zugriffauf im Plattengerätgespeicherte Daten aus. [0014] ImErgebnis kann das hybride Speichersystem mit sowohl SAN- als auch NAS-Controllerdurch einfache Hardware implementiert werden, und es kann unabhängig vonNAS-bezogenen Faktoren, wie einem Ausfall einer NAS-Funktion undder NAS-Belastung, mit SAN-Funktionen arbeiten. [0015] DieErfindung wird nachfolgend anhand von durch Figuren veranschaulichtenAusführungsformennäher erläutert. [0016] 1 istein Diagramm, das die Konfiguration eines Computersystems unterVerwendung eines gemäß einerersten Ausführungsformrealisierten Speichersystems zeigt; [0017] 2 istein Blockdiagramm, das typische Konfigurationen von NAS- und SAN-Controllern zeigt; [0018] 3 zeigtein Flussdiagramm zum Repräsentiereneines ty pischen Befehlswandlungsprozesses; [0019] 4 istein Diagramm, das eine typische Datenstruktur einer Befehlsschlangezeigt; [0020] 5 istein Diagramm, das eine andere typische Datenstruktur einer Befehlsschlangezeigt; [0021] 6 zeigtFlussdiagramme zum Repräsentierentypischer Prozesse, wie sie bei der Aktivierung eines Befehlswandlungsprogramms,eines Plattenarray-Steuerprogramms und eines NAS-Controller-Verwaltungsprogramms,wie sie durch die erste Ausführungsformbereitgestellt werden, ausgeführt werden; [0022] 7 zeigtein Flussdiagramm zum Repräsentiereneines typischen Prozesses, wie er ausgeführt wird, wenn das Plattenarray-Steuerprogramm einenNAS-Controller stoppt; [0023] 8 zeigtFlussdiagramme zum Repräsentiereneines typischen Prozesses einer geplanten NAS-Beendigungs-Unterroutine,wie sie vom durch in der 7 dargestellte UnterroutinerepräsentiertenProzess aufgerufen wird; [0024] 9 zeigtFlussdiagramme zum Repräsentiereneines typischen Prozesses einer zwangsweisen NAS-Beendigungs-Unterroutine,wie sie vom durch die in der 7 dargestelltenUnterroutine repräsentiertenProzess aufgerufen wird; [0025] 10 istein Blockdiagramm, das eine typische Konfiguration von SAN/NAS-Controllernzeigt; und [0026] 11 zeigtFlussdiagramme zum Repräsentierentypischer Prozesse, wie sie bei der Aktivierung eines Befehlswandlungsprogrammsund eines Plattenarray-Steuerprogramms, wie sie durch eine zweiteAusführungsformbereitgestellt werden, ausgeführtwerden. [0027] Nunwerden bevorzugte Ausführungsformen derErfindung unter Bezugnahme auf die 1 bis 11 erläutert. Jedochist die Erfindung nicht alleine auf diese bevorzugten Ausführungsformenbeschränkt. [0028] Eineerste Ausführungsformder Erfindung wird unter Bezugnahme auf die 1 bis 9 wie folgterläutert. [0029] Zunächst erläutert diefolgende Beschreibung unter Bezugnahme auf die 1 einetypische Konfiguration eines Computersystems unter Verwendung einesSpeichersystems 100, das durch die erste Ausführungsformder Erfindung implementiert ist. [0030] DiesesSpeichersystem 100 ist mit mehreren Computern, die jeweilsals SAN-Client 30 bezeichnet werden, mittels eines SAN 50 auseinem Faserkanal verbunden, so dass das Speichersystem 100 voneinem SAN-Client 30 einen I/O-Befehl empfangen kann. Außerdem istdas Speichersystem 100 auch mit mehreren Computern, diejeweils als NAS-Client 20 bezeichnet sind, durch ein LAN 40 verbunden,so dass es einen I/O-Befehl von einem NAS-Client 20 empfangenkann. Anstatt dass das SAN aus einem Faserkanal besteht, kann essich auch um ein IP-Netzwerk handeln, für das ein iSCSI-Protokoll verwendetwerden kann. [0031] DasSpeichersystem 100 verfügt über ein Plattengerät 105 undeinen Controller 110. Das Plattengerät 105, das nachfolgendauch als Plattenarray 105 bezeichnet wird, verfügt über mehrerePlattenlaufwerke 150 und einen Kommunikationspfad 155 zumVerbinden der Plattenlaufwerke 150 mit dem Controller 110. [0032] DerController 110 kann Daten über den Kommunikationspfad 155 vonjedem der Plattenlaufwerke 150 aufnehmen und Daten an sieausgeben. Es ist auch möglich,eine Konfiguration zu schaffen, bei der die Plattenlaufwerke 150 undder Kommunikationspfad 155 im Controller 110 enthaltensind. Außerdemkann das Speichersystem 100 auch über eine Konfiguration mitmehreren Plattengeräten 105 verfügen. [0033] EinSAN-Controller 140 ist die Hauptkonfigurationskomponentedes Controllers 110. Ein NAS-Controller 145 istals Tochterplatine implementiert, die am SAN-Controller 140 montiertist. Der Controller 110 kann auch über eine Konfiguration mit zweiSAN-Controllern 140 verfügen, die als Arbeits- bzw.Ersatz-Controller dienen. Diese Konfiguration sorgt für Redundanz,um die Zuverlässigkeitzu verbessern. Genauer gesagt, kann der Ersatz-SAN-Controller 140 alsErsatz fürden Arbeits-SAN-Controller 140 fungieren, um dessen Funktionfortzusetzen, falls in ihm ein Fehler auftreten sollte. [0034] Teileder Speicherbereiche der Plattenlaufwerke 150 sind zusammengefasstund gruppiert, um einen logischen Speicherbereich zu bilden, demein kontinuierlicher Adressenraum zugwiesen ist. Ein derartigerlogischer Speicherbereich wird als logischer Datenträger oderLogikvolumen bezeichnet. Ein I/O-Befehl, wie er für eine Blockeinheitausgegeben ist, die durch eine Adresse im Adressenraum gekennzeichnetist, die dem Logikvolumen zugewiesen ist, wird als Logikblock-Zugriffsbefehlbezeichnet. Andererseits wird ein I/O-Befehl, der für eine Blockeinheitausgegeben wird, die durch eine Adresse in einem für ein Plattenlaufwerk 150 spezifischenAdressenraum gekennzeichnet ist, als Zugriffsbefehl für einenphysikalischen Block bezeichnet. [0035] DerSAN-Controller 140 ist mit dem Plattengerät 105,einem Verwaltungsterminal 60 und dem SAN 50 verbunden.Der SAN-Controller 140 hatdie Funktion, einen Zugriffsbefehl für einen physikalischen Blockan eines der Plattenlaufwerke 150 im Plattengerät 105 entsprechendeinem von einem SAN-Client 30 empfangenen Logikblock-Zugriffsbefehlzu liefern. [0036] DerNAS-Controller 145 ist mit dem LAN 40 verbunden,und er kann in einen am SAN-Controller 140 vorhandenenVerbinder 160 eingesteckt und aus ihm herausgezogen werden.Der NAS-Controller 145 verfügt über eineFunktion zum Empfangen eines für eineDateieinheit ausgegebenen I/O-Befehls von einem NAS-Client 20,zum Wandeln dieses I/O-Befehls in einen Logikblock-Zugriffsbefehlund zum Liefern desselben an den SAN-Controller 140. Einfür eine Dateieinheitausgegebener I/O-Befehl wird nachfolgend als Dateibefehl bezeichnet. [0037] DerSAN-Controller 140 verwaltet Konfigurationsinformation 165,die eine Beziehung zwischen den Plattenlaufwerken 150 undLogikvolumina vorgibt. Die Fähigkeit,die Konfigurationsinformation 165 verwalten zu können, ermöglicht es,die Plattenlaufwerke 150 mit hohem Freiheitsgrad als NAS-Bereich 170 undals SAN-Bereich 175 zuzuordnen. Der NAS-Bereich 170 istein Bereich, der vom NAS-Controller 145 genutzt werdenkann. Andererseits ist der SAN-Bereich 175 ein Bereich,der von einem SAN-Client 30 genutzt werden kann. Es istauch möglich,eine Konfiguration zu schaffen, bei der der NAS-Controller 145 und der SAN-Controller 140 als einzelnePlatine implementiert sind, wie dies bei einer zweiten Ausführungsform,die späterbeschrieben wird, der Fall ist. [0038] Mitdem SAN-Controller 140 und dem NAS-Controller 145 istdas Verwaltungsterminal 60 über ein Netzwerk wie einemLAN verbunden, und es verfügt über einenSchirm, eine Tastatur und eine Maus, die bedient werden, um eineVerwaltung des Speichersystems 100 auszuführen. ZuVerwaltungsoperationen gehöreneine Aktivierung und ein Stoppen des Speichersystems 100,ein Aktivieren und Stoppen des NAS-Controllers 145, eine Änderung derEinstellung des Speichersystems 100 einschließlich desSAN-Controllers 140 und des NAS-Controllers 145 sowiedie Bezugnahme auf Information bei einem Fehler. [0039] AlsNächsteswerden die Konfigurationen des SAN-Controllers 140 unddes NAS-Controllers 145 unter Bezugnahme auf die 2 erläutert. Die 2 istein Blockdiagramm, das typische Konfigurationen des SAN-Controllers 140 unddes NAS-Controllers 145 zeigt. [0040] DerSAN-Prozessor 1409 im SAN-Controller 140 ist einProzessor, der hauptsächlichdazu dient, ein Plattenarray-Steuerprogramm 1405 und ein NAS-Controller-Verwaltungsprogramm 1406 zuinterpretieren und auszuführen.Der SAN-Prozessor 1409 nutzt einen SAN-Speicher 1407,der mit einem SAN-Speichercontroller 1410 verbunden ist,als Zwischenspeicher. Das in den SAN-Speicher 1407 geladenePlattenarray-Steuerprogramm 1405 hat die Funktion des Steuernseines Plattencontrollers 1403 durch Decodieren eines durcheinen Faserkanal-Controller 1401 empfangenenLogikblock-Zugriffsbefehls und zum Wandeln desselben in einen Zugriffsbefehlfür einenphysikalischen Block. Das Plattenarray-Steuerprogramm 1405 nutzteinen Plattencache 1402 zum Erhöhen der Geschwindigkeit, umeine Antwort auf einen Logikblock-Zugriffsbefehl zu erzeugen. [0041] Andererseitshat das NAS-Controller-Verwaltungsprogramm 1406 die Funktiondes Aktivierens und Stoppens des NAS-Controllers 145 undder Bezugnahme auf Information bei einem Ausfall, entsprechend einerVerwaltungsbedienung, wie sie am Verwaltungsterminal 60 ausgeführt wird.Das Plattenarray-Steuerprogramm 1405 unddas NAS-Controller-Verwaltungspro gramm 1406 werden vom SAN-Controller 1409 ausgeführt. [0042] EinNAS-Prozessor 1457 im NAS-Controller 145 ist einProzessor, der hauptsächlichdazu dient, ein Befehlswandlungsprogramm 1453 zu interpretierenund auszuführen.Der NAS-Prozessor 1457 verwendet einen mit einem NAS-Speichercontroller 1456 verwendetenNAS-Speicher 1452 als Zwischenspeicher. Das in den NAS-Speicher 1452 geladeneBefehlswandlungsprogramm 1453 verfügt über eine Funktion zum Decodiereneines von einem LAN-Controller 1451 empfangenen Dateibefehlsund zum Wandeln desselben in einen Logikblock-Zugriffsbefehl. DasBefehlswandlungsprogramm 1453 liefert den als Ergebnisder Wandlung erhaltenen Logikblock-Zugriffsbefehl an den SAN-Prozessor 1409. [0043] Dasdurch den SAN-Prozessor 1409 ausgeführte Plattenarray-Steuerprogramm 1405 hatdie Funktion des Wandelns eines vom NAS-Controller 145 empfangenenLogikblock-Zugriffsbefehls in einen Zugriffsbefehl für einenphysikalischen Block. Diese Wandlung entspricht einem Prozess zumWandeln eines von einem Faserkanal-Controller 1401 empfangenenLogikblock-Zugriffsbefehls in einen Zugriffsbefehl für einenphysikalischen Block, wie oben beschrieben. [0044] Beieiner Operation zum Übertrageneines Logikblock-Zugriffsbefehls vom NAS-Prozessor 1457 zumSAN-Prozessor 1409 steuert das Befehlswandlungsprogramm 1453 einenInterprozessor-Kommunikationscontroller 1408. Genauer gesagt,ist ein Logikblock-Zugriffsbefehl ursprünglich in einem Bereich 1455 zurVerwendung bei NAS-Kommunikationsvorgängen, wie im NAS-Controller 145 verwendet,gespeichert. Unter Steuerung durch das Befehlswandlungsprogramm 1453 führt derInterprozessor-Kommunikationscontroller 1408 typischerweiseeine DMA-Operation aus, um den Logikblock-Zugriffsbefehl vom Bereich 1455 zurVerwendung bei NAS-Kommunikationsvorgängen an einen Be reich 1404 zurVerwendung bei SAN-Kommunikationsvorgängen zu übertragen. Andererseits wirdein Status, der das Ergebnis der Ausführung eines Befehls anzeigt,umgekehrt vom Bereich 1404 zur Verwendung bei SAN-Kommunikationsvorgängen anden Bereich 1455 zur Verwendung bei NAS-Kommunikationsvorgängen übertragen,nachdem die Ausführungdes Befehls abgeschlossen ist. Wenn der Interprozessor-Kommunikationscontroller 1408 miteiner Interruptfunktion fürInterruptprozesse, wie sie vom SAN-Prozessor 1409 und vomNAS-Prozessor 1457 ausgeführt werden, versehen ist, kannder Abschluss einer Übertragungeines Befehls oder des Status unmittelbar an den SAN-Prozessor 1409 undden NAS-Prozessor 1457 mitgeteilt werden. [0045] Wennein von einem NAS-Client 20 empfangener Dateibefehl einBefehl ist, der eine Anforderung zum Schreiben von Daten in dasSpeichersystem 100 stellt, werden die Daten in einem Dateicache 1454 zwischengespeichert.Dann wird ein Logikblock-Zugriffsbefehl, wie er als Ergebnis einerWandlung des Dateibefehls entsprechend der oben beschriebenen Prozedurerhalten wird, an den Bereich 1404 zur Verwendung bei SAN-Kommunikationsvorgängen übertragen.Anschließend überträgt das Plattenarray-Steuerprogramm 1405 diein einem Dateicache 1454 gespeicherten Daten entsprechenddem an den Bereich 1404 zur Verwendung bei SAN-Kommunikationsvorgängen übertragenenLogikblock-Zugriffsbefehl an den Plattencache 1402. [0046] Wennein von einem NAS-Client 20 empfangener Dateibefehl einBefehl ist, der es anfordert, Daten aus dem Speichersystem 100 auszulesen,wird andererseits ein Logikblock-Zugriffsbefehl, der als Ergebniseiner Wandlung des Dateibefehls gemäß der oben beschriebenen Prozedurerhalten wurde, an den Bereich 1404 zur Verwendung beiSAN-Kommunikationsvorgängen übertragen.Anschließend liestdas Plattenarray-Steuerprogramm 1405 die Daten von einemPlattenlaufwerk 150 aus, um die Daten in den Plattencache 1402 zuspeichern. Abschlie ßend überträgt das Plattenarray-Steuerprogramm 1405 dieim Plattencache 1402 gespeicherten Daten entsprechend deman den Bereich 1404 zur Verwendung bei SAN-Kommunikationsvorgängen übertragenenLogikblock-Zugriffsbefehl an den Dateicache 1454. [0047] EinLogikblock-Zugriffsbefehl und Daten können zwischen dem NAS-Controller 145 unddem SAN-Controller 140 übereinen Bus übertragenwerden, der mit dem am SAN-Controller 140 vorhandenen Verbinder 160,der als Verbinder zum Anbringen des NAS-Controllers 145 verwendetwird, verbunden ist. Außerdemkann der NAS-Controller 145 in den Verbinder 160 eingestecktund aus ihm herausgezogen werden, während der SAN-Controller 140 arbeitet.Ein PCI-Bus ist ein typischer Bus, der derartigen Bedingungen genügt. Es istauch möglich,eine Konfiguration bereitzustellen, bei der mehrere NAS-Controller 145 amSAN-Controller 140 angebracht sind. Bei einer derartigenKonfiguration sind so viele Interprozessor-Kommunikationscontroller 1408 wie NAS-Controller 145 amSAN-Controller 140 vorhanden sind, als Komponenten vorhanden,die Kommunikationsvorgängezwischen dem SAN-Prozessor 1409 und den NAS-Controllern 145 steuern.Außerdemist es auch möglich,eine Konfiguration bereitzustellen, bei der der Interprozessor-Kommunikationscontroller 1408 amNAS-Controller 145 vorhanden ist. [0048] Wieoben beschrieben, ist das Plattenarray-Steuerprogramm 1405 einProgramm mit einer Funktion zum Wandeln eines Logikblock-Zugriffsbefehlsin einen Zugriffsbefehl füreinen physikalischen Block. In diesem Fall ist ein Logikblock-Zugriffsbefehl einI/O-Befehl, wie er vom Speichersystem 100 von einem SAN-Client 30 über dasSAN 50 als Befehl empfangen wird, der für eine Blockeinheit in einem Logikvolumenausgegeben wird, das logisch als Volumen definiert ist, das logischmehrere Platten im Plattenarray 105 des Speichersys tems 100 umfasst. DerLogikblock-Zugriffsbefehl kann auch ein I/O-Befehl sein, wie ervom NAS-Controller 145 als Ergebnis einer Wandlung einesDateibefehls empfangen wird. Andererseits ist ein Zugriffsbefehlfür einenphysikalischen Block ein I/O-Befehl, der an eine im Logikvolumenenthaltene Platte als der Logikeinheit entsprechende Platte ausgegebenwird. [0049] Andererseitsist das Befehlswandlungsprogramm 1453 ein Programm miteiner Funktion zum Wandeln eines durch das Speichersystem 100 von einemNAS-Client 20 überdas LAN 40 empfangenen I/O-Befehls als Befehl, wie er für eine Dateieinheit ausgegebenwird, in einen als Logikblock-Zugriffsbefehl bezeichneten I/O-Befehl,der füreine Blockeinheit ausgegeben wird, um schließlich durch das Plattenarray-Steuerprogramm 1405 inden oben genannten Zugriffsbefehl für einen physikalischen Blockgewandelt zu werden, wie oben beschrieben. [0050] DasPlattenarray-Steuerprogramm 1405 arbeitet unabhängig vonder Funktion des Befehlswandlungsprogramms 1453. Demgemäß kann selbst dann,wenn die vom Befehlswandlungsprogramm 1453 ausgeführte Verarbeitungwegen eines Problems in diesem nicht mehr ausgeführt werden kann, die Verarbeitungdes Plattenarray-Steuerprogramms 1405 fortgesetzt werden,um einen Prozess aufrecht zu erhalten, wie er für einen von einem SAN-Client 30 empfangenenI/O-Befehl ausgeführtwird. [0051] Demgemäß können Wartungsarbeitendurch Stoppen nur der NAS-Funktionausgeführtwerden. Außerdemist es möglich,für eineKonfiguration mit mehreren Prozessoren zum Ausführen des Plattenarray-Steuerprogramms 1405 zusorgen. Durch Spezifizieren nur einiger der Prozessoren als Prozessorenfür einenvom Befehlswandlungsprogramm 1453 übertragenen I/O-Befehl kann das SAN-Funktionsvermögen selbstdann, wenn die NAS-Belastung höherwird, zumindest auf einem vorbestimmten Niveau gehalten werden.In ähnlicherWeise kann selbst dann, wenn umgekehrt die SAN-Belastung höher wird,das NAS-Funktionsvermögenzumindest auf einem vorbestimmten Niveau gehalten werden. [0052] DasBefehlswandlungsprogramm 1453 und das Plattenarray-Steuerprogramm 1405 zumSteuern des Plattengeräts 105 kommunizierenmiteinander übereinen internen Bus, so dass weder ein internes Netzwerk noch gemeinsamerSpeicher benötigt werden.So kann diese Konfiguration billig implementiert werden. [0053] UnterBezugnahme auf die 3 bis 9 erläutert diefolgende Beschreibung Steuerungsoperationen, wie sie vom Speichersystem 100 ausgeführt werden,das entsprechend der ersten Ausführungsformder Erfindung implementiert ist. [0054] UnterBezugnahme auf das in der 3 dargestellteFlussdiagramm beginnt die Beschreibung mit einer Erläuterungvon Verarbeitungsoperationen, wie sie durch das Plattenarray-Steuerprogramm 1405 inder in der 2 dargestellten Konfiguration ausgeführt werden,um einen Befehl zu katalogisieren, wie er vom Befehlswandlungsprogramm 1453 empfangenwird, das ebenfalls in der in der 2 dargestelltenKonfiguration enthalten ist, oder einen vom Faserkanal-Controller 1401 empfangenenBefehl in einer Befehlsschlange. [0055] Die 3 zeigtein Flussdiagramm, das einen typischen Ablauf eines Befehls vomBefehlswandlungsprogramm 1453 oder vom Faserkanal-Controller 1401 zurBefehlsschlange als Fluss mit einem Befehlswandlungsprozess repräsentiert.In einem Schritt 300 wandelt das Befehlswandlungsprogramm 1453 einenDateibefehl in einen Logikblock-Zugriffsbefehl. Dann überträgt das Befehlswandlungsprogramm 1453,im nächstenSchritt 302, den Logikblock-Zugriffsbefehl an den Bereich 1404 zurVerwendung bei SAN-Kommunikationsvorgängen. Anschließend wird,im nächstenSchritt 305, ein Bit eines Registers des Interprozessor-Kommunikationscontrollers 1408 gesetzt,um einen Interrupt zu erzeugen. Indessen befindet sich das Plattenarray-Steuerprogramm 1405 ineinem Zustand, in dem es in einem Schritt 310 auf einenLogikblock-Zugriffsbefehl wartet. Aufgrund des Interrupts durchden Interprozessor-Kommunikationscontroller 1408 führt dasPlattenarray-Steuerprogramm 1405 einen Schritt 1315 aus,um zu ermitteln, ob die Befehlsschlange aktiv ist oder nicht. Wenndie Befehlsschlange nicht aktiv ist, fährt der Ablauf mit einem Schritt 320 fort, umden Logikblock-Zugriffsbefehl vom Bereich 1404 zur Verwendungbei SAN-Kommunikationsvorgängenan die Befehlsschlange zu übertragen.Wenn die Befehlsschlange aktiv ist, verbleibt das Plattenarray-Steuerprogramm 1405 andererseitsim Wartezustand, bis die Befehlsschlange nicht mehr aktiv ist. DieBefehlsschlange ist aktiv, da ein vom Faserkanal-Controller 1401 empfangenerLogikblock-Zugriffsbefehl folgend an einen Interrupt, wie er vomFaserkanal-Controller 1401 an den SAN-Prozessor 1409 ausgegebenwird, an die Befehlsschlange übertragenwird, oder ein im Bereich 1404 zur Verwendung bei SAN-Kommunikationsvorgängen gespeicherterLogikblock-Zugriffsbefehl an sie übertragen wird, wie oben beschrieben.Demgemäß ist derErmittlungsprozess des Schritts 315 eine Art Ausschlusssteuerung,um zu verhindern, dass ein im Bereich 1404 zur Verwendungbei SAN-Kommunikationsvorgängengespeicherter Logikblock-Zugriffsbefehl durch das Befehlswandlungsprogramm 1453 an dieBefehlsschlange übertragenwird, währendein Logikblock-Zugriffsbefehl vom Faserkanal-Controller 1401 ansie übertragenwird, und um zu verhindern, dass ein vom Faserkanal-Controller 1401 empfangenerLogikblock-Zugriffsbefehl an die Befehlsschlange übertragenwird, währendein Logikblock-Zugriffsbefehl durch das Befehlswandlungsprogramm 1453 vomBereich 1404 zur Verwen dung bei SAN-Kommunikationsvorgängen ansie übertragenwird. Die Ausschlusssteuerung wird typischerweise dadurch implementiert,dass Interrupts, wie sie vom Interprozessor-Kommunikationscontroller 1408 undvom Faserkanal-Controller 1401 an den SAN-Prozessor 1409 ausgegebenwerden, dasselbe Prioritätsniveauzugewiesen wird und die Operation zum Übertragen eines Logikblock-Zugriffsbefehlsvom Bereich 1404 zur Verwendung bei SAN-Kommunikationsvorgängen odervom Faserkanal-Controller 1401 an die Befehlsschlange alsProzess zum Handhaben eines Interrupts ausgeführt wird. [0056] Nunwerden typische Datenstrukturen der Befehlsschlange unter Bezugnahmeauf die 4 und 5 erläutert. [0057] Diein diesen Diagrammen dargestellten Befehlsschlange-Datenstrukturenbeinhalten jeweils sowohl Logikblock-Zugriffsbefehle, wie sie vomBereich 1404 zur Verwendung bei SAN-Kommunikationsvorgängen übertragen werden, als auchLogikblock-Zugriffsbefehle, wie sie vom Faserkanal-Controller 1401 übertragenwerden. Wie bereits beschrieben, sind die vom Bereich 1404 zurVerwendung bei SAN-Kommunikationsvorgängen übertragenen Logikblock-Zugriffsbefehlejeweils das Ergebnis eines Befehlswandlungsprozesses, wie er vomBefehlswandlungsprogramm 1453 ausgeführt wird, das in der in der 2 dargestelltenKonfiguration enthalten ist. [0058] Beider in der 4 dargestellten typischen Datenstrukturzeigt ein Befehlsschlange-Kopfzeiger 400 auf die Adresseeines Logikblock-Zugriffsbefehls, der als Nächster auszuführen ist.Andererseits zeigt ein Befehlsschlange-Endzeiger 410 aufdie Adresse eines Logikblock-Zugriffsbefehls, der neu an das Endeder Befehlsschlange hinzugefügtwurde. In der Datenstruktur entsprechen NAS-Befehle 415 jeweilseinem Logikblock-Zugriffsbefehl, wie er vom Bereich 1404 zurVerwendung bei SAN-Kommunikationsvorgängen als Ergebnis eines Befehlswandlungsprozesses übertragenwird, wie er vom Befehlswandlungsprogramm 1453 ausgeführt wird,während gemeinsammit den NAS-Befehlen 415 vorhandene SAN-Befehle 420 jeweilseinem Logikblock-Zugriffsbefehl entsprechen, wie er vom Faserkanal-Controller 1401 übertragenwird. Die in der Befehlsschlange katalogisierten Logikblock-Zugriffsbefehlewerden sequenziell auf FIFO(First In First Out)-Basis verarbeitet. [0059] Esist zu beachten, dass die Befehlsschlange im SAN-Speicher 1407 inder in der 2 dargestellten Konfigurationgespeichert ist. [0060] Diein der 5 dargestellte typische Datenstruktur unterscheidetsich von der in der 4 dargestellten dadurch, dassim Fall der in der 5 dargestellten Datenstrukturdie Logikblock-Zugriffsbefehle in gesonderten Schlangen katalogisiertsind, nämlicheiner zum Katalogisieren von NAS-Befehlen 515 verwendetenNAS-Schlange und einer zum Katalogisieren von SAN-Befehlen 565 verwendeten SAN-Schlange. [0061] EinLogikblock-Zugriffsbefehl, wie er im Bereich 1404 zur Verwendungbei SAN-Kommunikationsvorgängenals Ergebnis eines vom Befehlswandlungsprogramm 1453 ausgeführten Befehlswandlungsprozessesgespeichert wird, wird an eine NAS-Schlangenstelle übertragen, auf die ein NAS-Befehlsschlange-Endzeiger 510 zeigt.Andererseits wird ein vom Faserkanal-Controller 1401 empfangenerLogikblock-Zugriffsbefehl an eine SAN-Schlangenstelle übertragen,auf die ein SAN-Befehlsschlange-Endzeiger 560 zeigt. [0062] Diein der 5 dargestellte Befehlsschlange-Datenstruktur istdadurch gekennzeichnet, dass eine Steuerung dahingehend ausgeführt werden kann,zu ermitteln, ob ein NAS-Befehl Vorrang vor der Verarbeitung einesSAN-Befehls hat, oder ob es umgekehrt ist. D. h., dass zum Verarbeiteneiner I/O-Anforderung von einem in der 1 dargestelltenNAS-Client 20, die Vorrang vor einer I/O-Anforderung voneinem in derselben Figur dargestellten SAN-Client 30 hat,ein SAN-Befehl als Erster ausgeführtwird, auf den ein SAN-Befehlsschlange-Kopfzeiger 500 zeigt. Um einenProzess einer I/O-Anforderung von einem SAN-Client 30 zuverarbeiten, der Vorrang vor einer I/O-Anforderung von einem NAS-Client 20 hat,wird andererseits als Erstes der SAN-Befehl ausgeführt, aufden ein SAN-Befehlsschlange-Kopfzeiger 550 zeigt. [0063] UnterBezugnahme auf die in der 6 dargestelltenFlussdiagramme erläutertdie folgende Beschreibung die Verarbeitung bei der Aktivierung des Befehlswandlungsprogramms 1453,des Plattenarray-Steuerprogramms 1405 und des NAS-Controller-Verwaltungsprogramms 1406,wie sie durch die erste Ausführungsformbereitgestellt werden. Die 6 zeigtFlussdiagramme, die typische Prozesse repräsentieren, wie sie bei derAktivierung der genannten drei Programme ausgeführt werden. [0064] Wenndie Spannungsversorgung des in der 1 dargestelltenSpeichersystems 100 eingeschaltet wird, werden der SAN-Controller 140 undder NAS-Controller 145 initialisiert. Nachdem der SAN-Controller 140 initialisiertist, lädtein IPL das Plattenarray-Steuerprogramm 1405 und das NAS-Controller-Verwaltungsprogramm 1406 voneinem Plattenlaufwerk 150 in den SAN-Speicher 1407, derin der in der 2 dargestellten Konfiguration vorhandenist. Dann startet der SAN-Prozessor 1409 die Ausführung desPlattenarray-Steuerprogramms 1405 und des NAS-Controller-Verwaltungsprogramms 1406.Das Letztere gelangt in einem Schritt 635 in einen Wartezustand. [0065] Nachdemder NAS-Controller 145 initialisiert ist, lädt ein IPLeine Aktivierungsroutine des Befehlswandlungsprogramms 1453 auseinem am NAS-Controller 145 angebrachten ROM. Da das Befehlswandlungsprogramm 1453 ineinem Plattenlaufwerk 150 installiert war, kann diese IPLdas Befehlswandlungsprogramm 1453 nicht laden, da sie keinen Zugriffauf irgendein Plattenlaufwerk 150 ausführen kann. Aus diesem Grundlädt dieIPL als Erstes die Aktivierungsroutine des Befehlswandlungsprogramms 1453.Die Aktivierungsroutine gelangt in einen Zustand, in dem sie aufeine Mitteilung wartet, die den Abschluss einer Initialisierungdes Plattenarrays 105 in einem Schritt 600 anzeigt. [0066] Indesseninitialisiert das gestartete Plattenarray-Steuerprogramm 1405 ineinem Schritt 625 das Plattenarray 105. Nachdemdie Initialisierung des Plattenarrays 105 abgeschlossenist, sendet das Plattenarray-Steuerprogramm 1405 eine Mitteilung, dieden Abschluss der Initialisierung des Plattenarrays 105 anzeigt,in einem nächstenSchritt 630 an die Aktivierungsroutine. [0067] Wenndie Aktivierungsroutine die Mitteilung empfängt, die den Abschluss derInitialisierung des Plattenarrays 105 anzeigt, initialisiertsie in einem Schritt 605 den NAS-Speicher 1452.Dann informiert die Aktivierungsroutine in einem nächsten Schritt 610 dasNAS-Controller-Verwaltungsprogramm 1406 darüber, dassder NAS-Speicher 1452 initialisiert wurde. Anschließend trittdie Aktivierungsroutine, in einem nächsten Schritt 615,in einen Zustand ein, in dem sie auf eine Mitteilung wartet, diedurch das NAS-Controller-Verwaltungsprogramm 1406 zu liefernist. Wenn dieses überdie Tatsache informiert ist, dass der NAS-Speicher 1452 imSchritt 653 initialisiert wurde, lädt es das Befehlswandlungsprogramm 1453 ineinem Schritt 640 aus einem Plattenlaufwerk 150 inden NAS-Speicher 1452, wozu es eine Maßnahme wie die DMA-Technikverwendet. [0068] ImnächstenSchritt 645 informiert das NAS-Controller-Verwaltungsprogramm 1406 dieAktivierungsroutine des Befehlswandlungsprogramms 1453 darüber, dassder Vorgang zum Laden des Befehlswandlungsprogramms 1453 abgeschlossen wurde. [0069] Wenndie Aktivierungsroutine des Befehlswandlungsprogramms 1453 über dieTatsache informiert ist, dass der Vorgang des Ladens des Befehlswandlungsprogramms 1453 imSchritt 615 abgeschlossen wurde, führt die Aktivierungsroutineim nächstenSchritt 620 einen Sprung auf den Eintrittspunkt des Befehlswandlungsprogramms 1453 aus. Aufdiese Weise wird die Ausführungdes Befehlswandlungsprogramms 1453 gestartet. [0070] UnterBezugnahme auf die in den 7 bis 9 dargestelltenFlussdiagramme erläutertdie folgende Beschreibung eine Verarbeitung, wie sie vom Plattenarray-Steuerprogramm 1405 zumStoppen des NAS-Controllers 145 ausgeführt wird. [0071] Ineinem Schritt 705 des in der 7 dargestelltenFlussdiagramms wird vom Verwaltungsterminal 60 ein Stoppbefehlzum Anhalten des NAS-Controllers 145 empfangen, während dasPlattenarray-Steuerprogramm 1405 in einem Schritt 700 einen SAN-oder einen NAS-Befehl verarbeitet. In diesem Fall geht der Ablaufdes Prozesses zu einem Schritt 710 weiter, in dem ein geplanterNAS-Beendigungsprozess ausgeführtwird. Einzelheiten desselben werden später erläutert. [0072] Wennim Schritt 705 kein Befehl zum Stoppen des NAS-Controllers 145 vomVerwaltungsterminal 60 empfangen wird, geht der Ablaufdes Prozesses andererseits zu einem Schritt 725 weiter,um zu ermitteln, ob ein Zeitablauf eines Herzschlagsignals, wiees vom Befehlswandlungsprogramm 1453 mit vorbestimmtemIntervall empfangen wird, aufgetreten ist oder nicht. Das Auftreteneines derartigen Zeitablaufs kann als Erkennung einer Anormalität des NAS-Controllers 145 inter pretiertwerden. Wenn eine Anormalitäterkannt wurde, geht der Ablauf des Prozesses zu einem Schritt 730 weiter,in dem NAS-Befehle in der Befehlsschlange verworfen werden. Dannwird in einem nächstenSchritt 735 ein zwangsweiser NAS-Beendigungsprozess ausgeführt. Einzelheitendesselben werden ebenfalls spätererläutert.Nachdem die Ausführungdes geplanten oder des erzwungenen NAS-Beendigungsprozesses abgeschlossenist, geht der Ablauf des Prozesses zu einem Schritt 712 weiter,um in einen SAN-Betriebsmodus überzugehen,in dem nur SAN-Befehle verarbeitet werden. [0073] Wennder Betrieb des NAS-Controllers 145 entsprechend einemvom Verwaltungsterminal 60 empfangenen Wiederaufnahmebefehlwieder aufgenommen wird, geht das Speichersystem 100 ineinen SAN/NAS-Betriebsmodus über,der mit einem Schritt 700 beginnt, in dem das Plattenarray-Steuerprogramm 1405 einenSAN- oder einen NAS-Befehl verarbeitet. Der Betrieb des NAS-Controllers 145 kann dadurchwieder aufgenommen werden, dass das Plattenarray-Steuerprogramm 1405 dieKontrolle gemäß dem Schritt 630 desin der 6 dargestellten Flussdiagramms wiedererlangt. [0074] Ineinem Schritt 800 des durch die in der 8 dargestelltenFlussdiagramme repräsentierten geplantenNAS-Beendigungsprozesses liefert das NAS-Controller-Verwaltungsprogramm 1406 eine Mitteilung über einegeplante Beendigung an das Befehlswandlungsprogramm 1453.Nachdem das Befehlswandlungsprogramm 1453 die Mitteilung über einegeplante Beendigung in einem Schritt 815 empfangen hat, überträgt sie eingeschriebeneDaten, wie sie im Dateicache 1454 abgespeichert sind, ineinem nächstenSchritt 820 an einen Plattencache 1402. Dann liefertdas Befehlswandlungsprogramm 1453, im nächsten Schritt 825,eine Mitteilung überden Abschluss der geplanten Beendigung an das NAS-Controller-Verwaltungsprogramm 1406. [0075] Nachdemdas NAS-Controller-Verwaltungsprogramm 1406 die Mitteilung über denAbschluss der geplanten Beendigung im Schritt 805 empfangen hat,verzeichnet es im nächstenSchritt 810 die Beendigung des Betriebs des NAS-Controllers 145.Danach wird der NAS-Controller 145 nicht mehr überwacht. [0076] Ineinem Schritt 905 des durch die in der 9 dargestelltenFlussdiagramme repräsentierten zwangsweisenNAS-Beendigungsprozesses wird das Befehlswandlungsprogramm 1453 hervorgerufendurch einen erzeugten Fehler in einen Hängezustand versetzt, wobeies in einem nächstenSchritt 910 in eine Endlosschleife eintritt. In dieserEndlosschleife kann das Befehlswandlungsprogramm 1453 keinerleiKommunikationsvorgängeausführen.Indessen liefert das NAS-Controller-Verwaltungsprogramm 1406 eineMitteilung übereine zwangsweise Beendigung des Befehlswandlungsprogramms 1453 unterVerwendung einer Hardwaremaßnahme,wie eines Beendigungssignals in einem Schritt 900 an denNAS-Prozessor 1453. Die Mitteilung über eine Zwangsbeendigung desBefehlswandlungsprogramms 1453 veranlasst den NAS-Controller 145 dazu,in einen Zustand einzutreten, in dem der SAN-Controller 140 nichtbeeinflusst wird und selbst dann keine Daten zerstört werden,wenn die Spannungsversorgung des NAS-Controllers 145 abgeschaltetwird. Demgemäß können Reparaturarbeiten, wieein Austausch des NAS-Controllers 145, ausgeführt werden. [0077] DieseAusführungsformhat eine Konfiguration, bei der der Betrieb des als Hardware mit SAN-Funktiondienenden SAN-Controllers 140 nicht vom Betrieb des alsHardware mit NAS-Funktiondienenden NAS-Controllers 145 abhängt. Demgemäß kann der Betrieb der SAN-Funktionbei Ausfall der NAS-Funktion fortgesetzt werden, ohne durch den Fehlerbeeinflusst zu werden. Zu Beispielen eines Ausfalls der NAS-Funktion gehören einHardwarefehler des NAS-Controllers 145 und ein Softwarefehlerdes Befehlswandlungsprogramms 1453. Außerdem können Wartungsarbeiten dadurchausgeführt werden,dass eine geplante Beendigung der NAS-Funktion ausgeführt wird,die später,nach den Arbeiten, wieder aufgenommen werden kann. D. h., dass dasPlattenarray-Steuerprogramm 1405, wie es vom am SAN-Controller 140 angebrachtenSAN-Prozessor 1409 ausgeführt wird, so arbeiten kann,dass es einen vom SAN 50 empfangenen I/O-Befehl als für eine Blockeinheitausgegebenen Befehl empfängt.Das Plattenarray-Steuerprogramm 1405 kann die Verarbeitungeines derartigen I/O-Befehls unabhängig von der Existenz einesvom NAS-Controller 145 empfangenen Logikblock-Zugriffsbefehlsausführen.Wie bereits beschrieben, ist der vom NAS-Controller 145 empfangeneLogikblock-Zugriffsbefehl ein Befehl, der als Ergebnis eines Wandlungsprozesseseines I/O-Befehls erhalten wird, der vom NAS-Controller 145 alsfür eineDateieinheit ausgegebener Befehl empfangen wird. [0078] Außerdem kanndas Speichersystem 100 mit niedrigen Hardwarekosten implementiertwerden, da weder ein internes Netzwerk noch ein gemeinsamer Speicherfür Kommunikationsvorgänge zwischen demNAS-Controller 145 und dem SAN-Controller 140 erforderlichsind. Ferner kann der NAS-Controller 145 auch mit niedrigerenHardwarekosten implementiert werden, da er keinen Prozessor zumAusführendes Plattenarray-Steuerprogramms 1405 benötigt. [0079] Vorallem kann durch Trennen der zum Katalogisieren von NAS-Befehlen 515 verwendeten Schlangevon der zum Katalogisieren von SAN-Befehlen 565 verwendetenSchlange, wie es in der 5 dargestellt ist, ein NAS-Befehl 515 mitVorrang vor SAN-Befehlen 565 verarbeitet werden, oder ein SAN-Befehl 565 kannmit Vorrang vor NAS-Befehlen 515 verarbeitet werden. [0080] Darüber hinausist es auch möglich,eine Konfiguration mit zwei oder mehr Paaren eines SAN-Prozessors 1409 undeines SAN-Speichers 1407, wie bei der Konfiguration der 2 dargestellt, imselben SAN-Controller 140 zu schaffen. Bei einer derartigenKonfiguration kann ein SAN-Prozessor 1409 zum Verarbeiteneiner NAS-Schlangen zum Verwalten von NAS-Befehlen 515 gesondert voneinem SAN-Prozessor 1409 zum Verarbeiten einer SAN-Schlangezum Verwalten von SAN-Befehlen 565 vorhanden sein, undaußerdemkönnendie zum Katalogisieren von NAS-Befehlen 515 verwendete Schlangeund die zum Katalogisieren von SAN-Befehlen 565 verwendeteSchlange in verschiedenen SAN-Speichern 1407 gespeichertsein. Bei dieser Konfiguration verarbeitet das Verarbeitungssystem I/O-Anforderungen voneinem NAS-Client 20 unabhängig von einer Verarbeitung,wie sie von einem anderen Verarbeitungssystem ausgeführt wird,um von einem SAN-Client 30 ausgegebene I/O-Anforderungen zuverarbeiten. Demgemäß kann selbstdann, wenn die Belastung eines speziellen der Verarbeitungssystemehöher wird,das Funktionsvermögen desanderen Verarbeitungssystems gewährleistet werden,ohne dass eine Beeinflussung durch das spezielle Verarbeitungssystembestünde.Im Ergebnis kann das Funktionsvermögen des Systems insgesamt aufeinfache Weise erhalten bleiben. [0081] Nachfolgendwird unter Bezugnahme auf die 10 und 11 einezweite Ausführungsformder Erfindung beschrieben. Die anfängliche Beschreibung erfolgtdabei unter Bezugnahme auf die 10. [0082] Die 10 istein Blockdiagramm, das eine typische Konfiguration von SAN/NAS-Controllern zeigt.Diese zweite Ausführungsformwird dadurch erhalten, dass Teile, die dem SAN-Controller 140 und dem NAS-Controller 145 derin der 1 dargestellten ersten Ausführungsform entsprechen, durcheinen in der 10 dargestellten SAN/NAS-Controller 1000 ersetztwerden. [0083] Schnittstellendes SAN/NAS-Controllers 1000 mit dem LAN 40, demSAN 50, dem Verwaltungsterminal 60 und dem Plattengerät 105 sinddieselben wie die Schnittstellen des SAN-Controllers 140 unddes NAS-Controllers 145. Die zweite Ausführungsformunterscheidet sich von der ersten dahingehend, dass bei der zweitenAusführungsform derSAN-Prozessor 1409 und der NAS-Prozessor 1457 einenSpeichercontroller 1025 und einen Speicher 1005 gemeinsamhaben. Der Speicher 1005 ist in einen Bereich 1010 zurVerwendung durch einen NAS-Prozessor und einen Bereich 1015 zurVerwendung durch einen SAN-Prozessorunterteilt. [0084] Dasdurch den NAS-Prozessor 1457 ausgeführte Befehlswandlungsprogramm 1453 hatdie Funktion des Interpretierens eines vom LAN-Controller 1451 empfangenenDateibefehls und des Wandelns desselben in einen Logikblock-Zugriffsbefehl. DasBefehlswandlungsprogramm 1452 liefert den sich aus derWandlung ergebenden Logikblock-Zugriffsbefehl an den SAN-Prozessor 1409.Das vom NAS-Prozessor 1457 ausgeführte Befehlswandlungsprogramm 1453 liefertden sich ergebenden Logikblock-Zugriffsbefehl über einen gemeinsamen Speicher 1020,der vom SAN-Prozessor 1409 und vom NAS-Prozessor 1457 dazuverwendet wird, wechselseitig Daten auszutauschen, an den SAN-Prozessor 1409.Das Plattenarray-Steuerprogramm 1405 erkennt einen durchden SAN-Prozessor 1409 gelieferten Logikblock-Zugriffsbefehldurch Rundabfrage oder durch einen Prozessorinterrupt, und es wandeltden Logikblock-Zugriffsbefehl auf dieselbe Weise wie bei der erstenAusführungsforman einen Zugriffsbefehl füreinen physikalischen Block. [0085] AmSAN/NAS-Controller 1000 vorhandene Bauteile, die nicht derSpeichercontroller 1025 und der Speicher 1005 sind,werden vom SAN-Prozessor 1409 und vom NAS- 1457 nichtgemeinsam genutzt. Genauer gesagt, nutzt der SAN-Prozessor 1409 ausschließlich denFaserkanal-Controller 1409, den Plattencache 1402 undden Plattencontroller 1403. Andererseits nutzt der NAS-Prozessor 1457 ausschließlich denLAN-Controller 1451. Eine Route in einen Interruptcontrollerinnerhalb des Speichercontrollers 1025 wird so eingestellt,dass er Interrupts, wie sie durch ausschließlich durch den SAN-Prozessor 1409 genutzteBauteile erzeugt werden, an diesen liefert, während sie Interrupts, die durchausschließlichdurch den NAS-Prozessor 1457 genutzte Bauteile erzeugtwerden, an diesen liefert. [0086] UnterBezugnahme auf die in der 11 dargestelltenFlussdiagramme erläutertdie folgende Beschreibung Aktivierungsprozesse für das Befehlswandlungsprogramm 1453 unddas Plattenarray-Steuerprogramm 1405, wie sie bei der zweiten Ausführungsformder Erfindung ausgeführtwerden. [0087] Die 11 zeigtdie Flussdiagramme, die typische Prozesse repräsentieren, wie sie bei derAktivierung des Befehlswandlungsprogramms 1453 und einesPlattenarray-Steuerprogramms 1405 ausgeführt werden,wie sie bei der zweiten Ausführungsformder Erfindung vorhanden sind. [0088] Beidieser Ausführungsformist es, da der SAN-Prozessor 1409 und der NAS-Prozessor 1457 denSpeichercontroller 1025 gemeinsam haben, unmöglich, nurdas Befehlswandlungsprogramm 1453 unter Verwendung einerHardwaremaßnahmezu aktivieren und zu stoppen. Demgemäß löscht, bevor das Befehlswandlungsprogramm 1453 aktiviertoder reaktiviert wird, das NAS-Controller-Verwaltungsprogramm 1406 zuallererstden Inhalt des Bereichs 1010 zur Verwendung durch den NAS-Prozessorin einem Schritt 1100 auf lauter Nullen. Dann kopiert das NAS- Controller-Verwaltungsprogramm 1406 im nächsten Schritt 1105 Daten,wie sie in einer durch das Befehlswandlungsprogramm 1453 verwendeten Plattegespeichert sind, in den Bereich 1010 zur Verwendung durchden NAS-Prozessor. Anschließend informiertdas NAS-Controller-Verwaltungsprogramm 1406, im nächsten Schritt 1110,den NAS-Prozessor 1457 unter Verwendung eines Interruptsdarüber, dassder Kopierprozess abgeschlossen wurde. [0089] Indessenbefindet sich der NAS-Prozessor 1457, in einem Schritt 1115,in einem Zustand, in dem er auf einen Aktivierungsbefehl für einenProzessorinterrupt von einem anderen System wartet, wie für ein Mehrprozessorsystemspezifisch. Wenn der NAS-Prozessor 1457 einen derartigenInterrupt empfängt,führt erin einem nächstenSchritt 1120 einen Sprung auf den Eintrittspunkt des Befehlswandlungsprogramms 1453 aus,um die Ausführungdesselben zu starten. [0090] Diezweite Ausführungsformverwendet weniger Komponenten als die erste, so dass das durch siegeschaffene Speichersystem 100 billiger implementiert werdenkann. Die erste Ausführungsform verwendetzwei oder mehr Sätzeaus jeweils einem Speichercontroller und dessen Peripherieschaltung. Andererseitskann die zweite Ausführungsformmit nur einem Satz eines Speichercontrollers und dessen Peripherieschaltungleben. Außerdemwird bei der zweiten Ausführungsformder vom NAS-Prozessor 1457 und vom SAN-Prozessor 1409 gemeinsam genutzteSpeicher 1020 fürInterprozessor-Kommunikationsvorgänge genutzt. Demgemäß ist eine Hardwarewie der Interprozessor-Kommunikationscontroller 1408 derin der 2 dargestellten Konfiguration nicht erforderlich.Bei der zweiten Ausführungsformkann jedoch die Hardware zur NAS-Verwendung nicht ausgetauscht werden,währendder SAN/NAS-Controller 1000 arbeitet, ohne dass der Betrieb derSAN-Funktion beeinflusst würde.
权利要求:
Claims (16) [1] Speichersystem mit: – mehreren Platten und – einemmit den mehreren Platten verbundenen Controller; wobei: – der Controllereinen NAS-Controller und einen SAN-Controller aufweist; – der NAS-Controllereinen von einem Computer überein Netzwerk an das Speichersystem gesendeten I/O-Befehl als für eine Dateieinheitausgegebenen I/O-Befehl empfängt; – der SAN-Controllereinen durch einen Computer überein Netzwerk an das Speichersystem gesendeten I/O-Befehl als für eine Blockeinheitausgegebenen I/O-Befehl empfängtund er einen Zugriff auf in den Platten gespeicherte Daten auf Grundlagedes füreine Blockeinheit ausgegebenen I/O-Befehls ausführt; – der NAS-Controller einenfür eineDateieinheit ausgegebenen I/O-Befehl in einen für eine Blockeinheit ausgegebenenI/O-Befehl wandelt und den sich ergebenden, für eine Blockeinheit ausgegebenen I/O-Befehlan den SAN-Controller überträgt; und – der SAN-Controllereinen Zugriff auf in den Platten gespeicherte Daten auch auf Grundlageeines I/O-Befehls ausführt,der vom NAS-Controller als für eineBlockeinheit ausgegebener I/O-Befehl empfangen wird. [2] Speichersystem nach Anspruch 1, dadurch gekennzeichnet,dass der füreine Dateieinheit ausgegebene I/O-Befehl durch ein Befehlswandlungsprogramm,das von einem Prozessor im NAS-Controller ausgeführt wird, in den für eine Blockeinheitausgegebenen I/O-Befehl gewandelt wird. [3] Speichersystem nach Anspruch 1, dadurch gekennzeichnet,dass ein Plattenarray-Steuerprogramm, wie es von einem Prozessorim SAN-Controller ausgeführtwird, ohne Rücksichtdarauf arbeitet, ob ein füreine Blockeinheit ausgegebener I/O-Befehl vom NAS-Controller alsI/O-Befehl empfangen wird oder nicht, der als Ergebnis der Wandlungeines für eineDateieinheit ausgegebenen I/O-Befehls erhalten wurde. [4] Speichersystem nach Anspruch 1, dadurch gekennzeichnet,dass der Prozessor im NAS-Controller über einen internen Bus, derden NAS- und den SAN-Controller verbindet, mit einem Prozessor im SAN-Controllerkommuniziert. [5] Speichersystem nach Anspruch 1, dadurch gekennzeichnet,dass der NAS-Controller einen Speicher aufweist, der von einem imSAN-Controller verwendeten Speicher verschieden ist. [6] Speichersystem nach Anspruch 1, dadurch gekennzeichnet,dass – derNAS-Controller am SAN-Controller angebracht ist, und – der SAN-Controllereinen vom SAN-Netzwerk empfangenen I/O-Befehl als für eine Blockeinheit ausgegebenenI/O-Befehl selbst dann empfängt,wenn der NAS-Controller im Verlauf einer vom SAN-Controller ausgeführten Operationan diesem angebracht oder von ihm abgenommen wird. [7] Speichersystem nach Anspruch 1, dadurch gekennzeichnet,dass der SAN-Controller, zum Zugreifen auf in den Platten gespeicherteDaten, einen für eineBlockeinheit ausgegebenen SAN-Befehl verarbeitet, wobei Vorranggegenübereinem füreine Blockeinheit ausgegebenen NAS-Befehl herrscht, oder er umgekehrtden NAS-Befehl verarbeitet, wobei Vorrang vor dem SAN-Befehl herrscht,wobei: – derfür eineBlockeinheit ausgegebene SAN-Befehl ein vom SAN-Netzwerk empfangenerI/O-Befehl ist; und – derfür eineBlockeinheit ausgegebene NAS-Befehl ein vom NAS-Controller empfangenerI/O-Befehl ist, bei dem es sich um einen Befehl handelt, der sich auseiner Wandlung eines I/O-Befehls ergibt, wie er vom NAS-Netzwerkals füreine Dateieinheit ausgegebener I/O-Befehl empfangen wird. [8] Speichersystem mit: – mehreren Platten; – einemNAS-Controller zum Empfangen eines für eine Dateieinheit ausgegebenenI/O-Befehls; und – einemSAN-Controller zum Empfangen eines für eine Blockeinheit ausgegebenenI/O-Befehls; wobei: – derNAS-Controller einen NAS-Kommunikationscontroller, einen NAS-Prozessor,einen NAS-Speicher und einen NAS-Speichercontroller zum Steuern desNAS-Speichers aufweist; – derSAN-Controller einen SAN-Kommunikationscontroller, einen SAN-Prozessor,einen SAN-Speicher, einen SAN-Speichercontroller zum Steuern des SAN-Speichers,einen Interprozessor-Kommunikationscontroller zum Steuern von Kommunikationsvorgängen zwischendem NAS-Prozessor und dem SAN-Prozessor sowie einen Plattencontrollerzum Steuern der Platten aufweist; – der NAS-Controller am SAN-Controllerangebracht ist; – derSAN-Controller einen vom SAN-Kommunikationscontroller empfangenenI/O-Befehl als füreine Blockeinheit ausgegebenen I/O-Befehl selbst dann empfängt, wennder NAS-Controller im Verlauf einer vom SAN-Controller ausgeführten Operationan diesem angebracht oder von ihm abgenommen wird; – der NAS-Speicherauch zum Speichern eines Befehlswandlungsprogramms verwendet wird; – der SAN-Speicherauch zum Speichern eines Plattenarray-Steuerprogramms verwendet wird; – der NAS-Controllerdas Befehlswandlungsprogramm ausführt, um einen vom NAS-Kommunikationscontrollerempfangenen I/O- Befehl,als füreine Dateieinheit ausgegebenen I/O-Befehl, in einen für eine Blockeinheitausgegebenen I/O-Befehl zu wandeln und diesen für eine Blockeinheit ausgegebenen I/O-Befehl in einem Bereichdes NAS-Speichers für Kommunikationszweckezu speichern; – derInterprozessor-Kommunikationscontroller einen für eine Blockeinheit ausgegebenenI/O-Befehl vom Bereich des NAS-Speichersfür Kommunikationszweckean einen Bereich des SAN-Speichersfür Kommunikationszwecke überträgt; und – der SAN-Prozessordas Plattenarray-Steuerprogramm zum Katalogisieren eines I/O-Befehls,der als füreine Blockeinheit ausgegebener I/O-Befehl an den Bereich des SAN-Speichersfür Kommunikationszwecke übertragenwird, und auch eines vom SAN-Kommunikationscontroller empfangenen I/O-Befehlsals füreine Blockeinheit ausgegebenen I/O-Befehl in einer Befehlsschlangeausführtund er auf in den Platten gespeicherte Daten über den Plattencontroller aufGrundlage der I/O-Befehle zugreift, wie sie in der Befehlsschlangeals I/O-Befehle, wie sie jeweils für eine Blockeinheit ausgegebenwerden, katalogisiert sind. [9] Speichersystem mit: – mehreren Platten; und – einemmit den mehreren Platten verbundenen Controller, der Folgendes aufweist: – einenSAN-Schnittstellencontroller zum Empfangen eines für eine Blockeinheitvon einem SAN-Netzwerk ausgegebenen I/O-Befehls; – einenNAS-Schnittstellencontroller zum Empfangen eines für eine Dateieinheitvon einem NAS-Netzwerk ausgegebenen I/O-Befehls; – einenSAN-Prozessor zum Zugreifen auf die Platten auf Grundlage einesvom SAN-Schnittstellencontroller empfangenen I/O-Befehls als für eine Blockeinheit ausgegebenemI/O-Befehl; und – einenNAS-Prozessor zum Wandeln eines vom NAS-Schnittstellenprozessorempfangenen I/O-Befehls als füreine Dateieinheit ausgegebenem I/O-Befehl in einen für eine Blockeinheitausgegebenen I/O-Befehl; und – wobei der SAN-Prozessor einenfür eineBlockeinheit ausgegebenen I/O-Befehl vom NAS-Prozessor als Befehlempfängt,der sich aus einer Wandlung eines für eine Dateieinheit ausgegebenenI/O-Befehls ergeben hat, und er auf die Platten auch auf Grundlagedes füreine Blockeinheit ausgegebenen I/O-Befehls zugreift. [10] Speichersystem nach Anspruch 9, dadurch gekennzeichnet,dass der Controller ferner einen Speicher aufweist, der dazu verwendetwird, Folgendes zu speichern: – ein Befehlswandlungsprogrammzum Wandeln. eines füreine Dateieinheit ausgegebenen I/O-Befehls in einen für eine Blockeinheitausgegebenen I/O-Befehl; und – ein Plattensteuerprogrammzum Ausführeneines Zugriffs auf die Platten auf Grundlage des für eine Blockeinheitausgegebenen I/O-Befehls. [11] Speichersystem nach Anspruch 10, dadurch gekennzeichnet,dass: – derNAS-Prozessor das Befehlswandlungsprogramm ausführt; – der SAN-Prozessor das Plattensteuerprogramm ausführt und – die Ausführung desBefehlswandlungsprogramms durch den NAS-Prozessor unabhängig vonder Ausführungdes Plattensteuerprogramms durch den SAN-Prozessor ist. [12] Datenzugriffsverfahren in einem Speichersystem mitden folgenden Schritten: (a) Empfangen einer Block-I/O-Anforderungvon einem SAN-Netzwerkin einem SAN-Controller; (b) Ausführen eines Zugriffs auf einePlatte entsprechend der im SAN-Controller empfangenen Block-I/O-Anforderung; (c)Empfangen einer Datei-I/O-Anforderung von einem NAS-Netzwerk in einemNAS-Controller; (d) Wandeln der im NAS-Controller empfangenen Datei-I/O-Anforderungin eine Block-I/O-Anforderung; (e) Übertragen einer sich aus derWandlung einer Datei-I/O-Anforderungvom NAS-Controller ergebenden Block-I/O-Anforderung an den SAN-Controller;und (f) Ansteuern des SAN-Controllers in solcher Weise, dasser entsprechend der vom NAS-Controller empfangenen Block-I/O-Anforderung auf einePlatte zugreift. [13] Datenzugriffsverfahren nach Anspruch 12, dadurchgekennzeichnet, dass der Schritt des Wandelns der im NAS-Controllerempfangenen Datei-I/O-Anforderung in eine Block-I/O-Anforderung durchein Befehlswandlungsprogramm ausgeführt wird, das von einem Prozessorim NAS-Controller ausgeführtwird. [14] Datenzugriffsverfahren nach Anspruch 12, fernermit den folgenden Schritten: (g) Ansteuern des SAN-Controllerszum Katalogisieren einer vom genannten SAN empfangenen Block-I/O-Anforderungin einer Befehlsschlange; (h) Ansteuern des SAN-Controllerszum Katalogisieren einer vom NAS-Controller empfangenen Block-I/O-Anforderungals Befehl, der sich aus der Wandlung einer Datei-I/O-Anforderungergibt, in der Befehlsschlange; und (i) Ansteuern des SAN-Controllersin solcher Weise, dass er entsprechend den in der Befehlsschlangekatalogisierten Block-I/O-Anforderungen auf Platten zugreift. [15] Datenzugriffsverfahren nach Anspruch 12, gekennzeichnetdurch die folgenden Schritte: (g) Ansteuern des SAN-Controllerszum Katalogisieren einer vom SAN empfangenen Block-I/O-Anforderungin einer SAN-Be fehlsschlange; (h) Ansteuern des SAN-Controllerszum Katalogisieren einer vom NAS-Controller empfangenen Block-I/O-Anforderungals Befehl, der sich aus einer Wandlung einer Datei-I/O-Anforderungergibt, in einer NAS-Befehlsschlange; und (i) Ansteuern desSAN-Controllers in solcher Weise, dass er entsprechend einer inder SAN- oder der NAS-Befehlsschlange katalogisierten Block-I/O-Anforderungauf eine Platte zugreift. [16] Datenzugriffsverfahren nach Anspruch 15, dadurchgekennzeichnet, dass ein in der SAN-Befehlsschlange katalogisierterBlock-I/O-Befehl mit Vorrang gegenüber einem in der NAS-Befehlsschlangekatalogisierten Block-I/O-Befehl verarbeitet wird oder ein in derNAS-Befehlsschlange katalogisierter Block-I/O-Befehl mit Vorranggegenübereinem in der SAN-Befehlsschlange katalogisierten Block-I/O-Befehlverarbeitet wird.
类似技术:
公开号 | 公开日 | 专利标题 US10754742B2|2020-08-25|Network failover handling in computing systems US10360060B2|2019-07-23|Virtual machine monitor to I/O stack conduit in virtual real memory US9626329B2|2017-04-18|Apparatus for enhancing performance of a parallel processing environment, and associated methods JP6273353B2|2018-01-31|計算機システム Baker2000|Cluster computing white paper US9990313B2|2018-06-05|Storage apparatus and interface apparatus US6760783B1|2004-07-06|Virtual interrupt mechanism US8326915B2|2012-12-04|Pipeline systems and method for transferring data in a network environment US7617360B2|2009-11-10|Disk array apparatus and method of controlling the same by a disk array controller having a plurality of processor cores US7209972B1|2007-04-24|High speed data transfer mechanism US6295571B1|2001-09-25|Shared memory apparatus and method for multiprocessor systems US8010707B2|2011-08-30|System and method for network interfacing US6957303B2|2005-10-18|System and managing method for cluster-type storage US7194662B2|2007-03-20|Method, apparatus and program storage device for providing data path optimization US7181578B1|2007-02-20|Method and apparatus for efficient scalable storage management US7124207B1|2006-10-17|I2O command and status batching US6934878B2|2005-08-23|Failure detection and failure handling in cluster controller networks US7536508B2|2009-05-19|System and method for sharing SATA drives in active-active RAID controller system US6704812B2|2004-03-09|Transparent and dynamic management of redundant physical paths to peripheral devices US7921185B2|2011-04-05|System and method for managing switch and information handling system SAS protocol communication JP4591185B2|2010-12-01|サーバ装置 EP0709779B1|2001-05-30|Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung US7472208B2|2008-12-30|Bus communication emulation JP3669653B2|2005-07-13|コンピュータ・システム US10498645B2|2019-12-03|Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
同族专利:
公开号 | 公开日 GB0410148D0|2004-06-09| FR2865817A1|2005-08-05| JP2005215947A|2005-08-11| US7191287B2|2007-03-13| US20070124550A1|2007-05-31| US20060069868A1|2006-03-30| US20050172043A1|2005-08-04| CN1648842B|2010-04-28| GB2411020B|2005-12-28| US7120742B2|2006-10-10| JP4477365B2|2010-06-09| US20070011413A1|2007-01-11| US6981094B2|2005-12-27| FR2865817B1|2007-03-09| GB2411020A|2005-08-17| CN1648842A|2005-08-03| US7404038B2|2008-07-22|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-08-25| OP8| Request for examination as to paragraph 44 patent law| 2013-04-08| R082| Change of representative|Representative=s name: STREHL, SCHUEBEL-HOPF & PARTNER, DE | 2013-05-29| R081| Change of applicant/patentee|Owner name: GOOGLE INC., US Free format text: FORMER OWNER: HITACHI, LTD., TOKYO, JP Effective date: 20130408 Owner name: GOOGLE INC., MOUNTAIN VIEW, US Free format text: FORMER OWNER: HITACHI, LTD., TOKYO, JP Effective date: 20130408 | 2013-05-29| R082| Change of representative|Representative=s name: STREHL, SCHUEBEL-HOPF & PARTNER, DE Effective date: 20130408 Representative=s name: STREHL SCHUEBEL-HOPF & PARTNER MBB PATENTANWAE, DE Effective date: 20130408 Representative=s name: PATENTANWAELTE STREHL, SCHUEBEL-HOPF & PARTNER, DE Effective date: 20130408 | 2014-04-24| R120| Application withdrawn or ip right abandoned|Effective date: 20130917 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|